comment
authorJoey Hess <joeyh@joeyh.name>
Thu, 9 Jan 2025 18:23:51 +0000 (14:23 -0400)
committerJoey Hess <joeyh@joeyh.name>
Thu, 9 Jan 2025 18:23:51 +0000 (14:23 -0400)
doc/todo/Support___40__globally_configured__41_____34__annex_init__34___hooks/comment_2_0015660a3ede2c3181f960b9c2bac81c._comment [new file with mode: 0644]
doc/todo/specify_freeze__47__thaw_scripts_relative_to_topdir/comment_4_5a510abfe992a1aa4d7e2edcd9f6844b._comment [new file with mode: 0644]

diff --git a/doc/todo/Support___40__globally_configured__41_____34__annex_init__34___hooks/comment_2_0015660a3ede2c3181f960b9c2bac81c._comment b/doc/todo/Support___40__globally_configured__41_____34__annex_init__34___hooks/comment_2_0015660a3ede2c3181f960b9c2bac81c._comment
new file mode 100644 (file)
index 0000000..b04bfba
--- /dev/null
@@ -0,0 +1,27 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 2"""
+ date="2025-01-09T17:38:25Z"
+ content="""
+Seems like a reasonable idea to have a hook that runs before `git-annex
+init` does any of its probing or configuration.
+
+As for generalizing to a hook that is run before each git-annex command,
+putting it in .git/hooks seems like it could cause a fair bit of extra work
+probing if the hook(s) exist, especially in cases where git-annex runs git
+which might run git-annex again repeatedly.
+
+There could be a generalized hook config, eg `git config annex.pre-hook
+my-hook` could make `git-annex init` run `my-hook git-annex init`
+and same for other git-annex commands.
+
+It sounds like you would want a failure of such a hook to prevent the
+git-annex command from running. Is that right?
+
+Worth bearing in mind that if such a hook output to stdout, or read from
+stdin, or for that matter was interactive on /dev/tty, it could badly
+mess up things that use git-annex as plumbing. Including git, in the case
+of the smudge filter.
+
+(Should this todo be tagged repronim btw?)
+"""]]
diff --git a/doc/todo/specify_freeze__47__thaw_scripts_relative_to_topdir/comment_4_5a510abfe992a1aa4d7e2edcd9f6844b._comment b/doc/todo/specify_freeze__47__thaw_scripts_relative_to_topdir/comment_4_5a510abfe992a1aa4d7e2edcd9f6844b._comment
new file mode 100644 (file)
index 0000000..a97654d
--- /dev/null
@@ -0,0 +1,35 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 4"""
+ date="2025-01-09T17:57:05Z"
+ content="""
+I can see how it would be simpler for you to just be able to have those
+hooks in .git/hooks/ along with the rest of the repository.
+
+I don't think that a special casing of "./" is a good idea, that would be
+pretty confusing and for all I know some user might really want git-annex
+to run a hook in the current directory of their git repository.
+
+I am meh on "%dotgit", for one thing in a bare repository it's not `.git`.
+
+What if git-annex just added the git hooks directory to the end of PATH
+when running configured `annex.*-command`s? Then you could: `git config
+annex.thawcontent-command annex-thawcontent` and put your script in
+.git/hooks/annex-thawcontent
+
+This nicely avoids git-annex doing any extra work in general to check if
+.git/hooks/ exist.
+
+The reason I think it would need to be at the end of PATH rather than the
+front is that there are some git hooks with names like "update" and "applypatch" 
+that I can imagine might have the same names as a user's own programs
+in their PATH. For example, if `annex.commitmessage-command=foo` and the
+script foo runs "update", the user would be surprised if that ran the git
+hook rather than their `~/bin/update`.
+
+On the other hand, when configuring a `annex.*-command`, it does not seem
+likely that the user would set it to "update" or any of the other names
+of git hooks. Especially if they didn't have an "update" in PATH.
+So using the git hook directory for this, rather than some
+other special directory under .git seems ok.
+"""]]